package com.chaoli.reggie_diy.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.chaoli.reggie_diy.common.R;
import com.chaoli.reggie_diy.domain.Orders;
import com.chaoli.reggie_diy.domain.Setmeal;
import com.chaoli.reggie_diy.dto.SetmealDto;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {

    /**
     * 新增套餐
     * 向套餐表中插入数据
     * 向套餐和菜品的关系表中插入数据
     *
     * @param setmealDto
     */
    @Transactional
    void saveSetmealAndSetmealDish(SetmealDto setmealDto);

    /**
     * 删除套餐，且删除setmeal_dish表中的对应信息
     *
     * @param ids
     */
    @Transactional
    void removeSetmealAndDish(List<Long> ids);

    /**
     * 根据ids批量启售和停售套餐
     *
     * @param status
     * @param ids
     */
    @Transactional
    void updateSetmealStatusByIds(Integer status, List<Long> ids);

    /**
     * 根据套餐id查询套餐
     *
     * @param id
     * @return
     */
    @Transactional
    SetmealDto getData(Long id);

    /**
     * 编辑套餐信息
     *
     * @param setmealDto
     */
    @Transactional
    R<String> edit(SetmealDto setmealDto);


}
